﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace LicenseAutoDetection
{
    static class Program
    {
        /// <summary>
        /// 해당 응용 프로그램의 주 진입점입니다.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            // 프로그램 중복 실행 방지
            // - http://stackoverflow.com/questions/6486195/ensuring-only-one-application-instance
            // - http://social.msdn.microsoft.com/Forums/vstudio/en-US/d7e9120a-f48a-4d3a-aaab-addc8eb6e0da/single-instance-application-in-c?forum=csharpgeneral
            bool result;
            var mutex = new System.Threading.Mutex(true, @"Global\LicenseAutoDetection", out result);

            if (!result)
            {
                MessageBox.Show("이미 프로그램이 실행 중입니다.");
                return;
            }

            Application.Run(new MainForm());

            GC.KeepAlive(mutex);  
        }
    }
}
